package modelo;

import java.sql.ResultSet;
import conexionBD.Conexion;

public class NivelDao implements Dao{

	
	public NivelDao(){
		
	    Conexion.establecerPropiedadesConexion(driver, url, nombreBD, usuario, password);	
	}
	
	public Nivel getNivel(String nombre) throws Exception{
		
		Nivel nivel=new Nivel();
		String tiraSQL= "SELECT codigo_nivel,descripcion,cant_min_palabras,cant_max_palabras from \"NIVEL\" WHERE descripcion='" + nombre + "'";
		
		ResultSet rs= Conexion.ejecutarDQL(tiraSQL);
		
		if (rs.next()){
			nivel.setCodigo(rs.getInt("codigo_nivel"));
			nivel.setDescripcion(rs.getString("descripcion"));
			nivel.setCantMinimaPalabras(rs.getInt("cant_min_palabras"));
			nivel.setCantMaximaPalabras(rs.getInt("cant_max_palabras"));
		}
		
		return nivel;
	}
	
   public Nivel getNivel(int codigo) throws Exception{
		
		Nivel nivel=new Nivel();
		String tiraSQL= "SELECT codigo_nivel,descripcion,cant_min_palabras,cant_max_palabras from \"NIVEL\" WHERE codigo_nivel='" + codigo + "'";
		
		ResultSet rs= Conexion.ejecutarDQL(tiraSQL);
		
		if (rs.next()){
			nivel.setCodigo(rs.getInt("codigo_nivel"));
			nivel.setDescripcion(rs.getString("descripcion"));
			nivel.setCantMinimaPalabras(rs.getInt("cant_min_palabras"));
			nivel.setCantMaximaPalabras(rs.getInt("cant_max_palabras"));
		}
		
		return nivel;
	}
	
     public int getMinPalabras(String nombre) throws Exception{
		
		int min=0;
		String tiraSQL= "SELECT cant_min_palabras from \"NIVEL\" WHERE descripcion='" + nombre + "'";
		
		ResultSet rs= Conexion.ejecutarDQL(tiraSQL);
		
		if (rs.next()){
			min= rs.getInt("cant_min_palabras");
			
		}
		
		return min;
	 }
     
     public int getMaxPalabras(String nombre) throws Exception{
 		
 		int max=0;
 		String tiraSQL= "SELECT cant_max_palabras from \"NIVEL\" WHERE descripcion='" + nombre + "'";
 		
 		ResultSet rs= Conexion.ejecutarDQL(tiraSQL);
 		
 		if (rs.next()){
 			max= rs.getInt("cant_max_palabras");
 			
 		}
 		
 		return max;
 	 }
     
     public int getMinPalabras(int codigo) throws Exception{
 		
 		int min=0;
 		String tiraSQL= "SELECT cant_min_palabras from \"NIVEL\" WHERE codigo_nivel='" + codigo + "'";
 		
 		ResultSet rs= Conexion.ejecutarDQL(tiraSQL);
 		
 		if (rs.next()){
 			min= rs.getInt("cant_min_palabras");
 			
 		}
 		
 		return min;
 	 }
      
      public int getMaxPalabras(int codigo) throws Exception{
  		
  		int max=0;
  		String tiraSQL= "SELECT cant_max_palabras from \"NIVEL\" WHERE codigo_nivel='" + codigo + "'";
  		
  		ResultSet rs= Conexion.ejecutarDQL(tiraSQL);
  		
  		if (rs.next()){
  			max= rs.getInt("cant_max_palabras");
  			
  		}
  		
  		return max;
  	 }
       
       
	
}
